﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace proyectoENS
{
    public sealed partial class frmAltaProfesores : Form
    {
        private frmAltaProfesores()
        {
            InitializeComponent();
        }
        private static  frmAltaProfesores Instancia;
        public static frmAltaProfesores onlyInstancia
        {
            get 
            {
                if (Instancia == null || Instancia.IsDisposed)
                    Instancia = new frmAltaProfesores();
                return Instancia; 
            }
        }
        private static void frmAltaProfesores_FormClosing(object sender, FormClosingEventArgs e)
        {
            e.Cancel = true;
            onlyInstancia.Hide();
        }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            errorProvider1.Dispose();
            if (functionesGlobales.isNumeric(txtDNI.Text) == false || txtDNI.Text == string.Empty)
            {
                errorProvider1.SetError(txtDNI, "El DNI ingresado es incorrecto");
                return;
            }
            if (txtDNI.Text.Length < 7)
            {
                errorProvider1.SetError(txtDNI, "El DNI ingresado es incorrecto");
                return;
            }
            if (functionesGlobales.isNumeric(txtTelCel.Text) == false)
            {
                errorProvider1.SetError(txtTelCel, "El Celular ingresado es incorrecto");
                return;
            }
            if (functionesGlobales.isNumeric(txtTelFijo.Text) == false)
            {
                errorProvider1.SetError(txtTelFijo, "El telefono ingresado es incorrecto");
                return;
            }
            if (functionesGlobales.isNumeric(txtLegajo.Text) == false)
            {
                errorProvider1.SetError(txtLegajo, "El legajo ingresado es incorrecto");
                return;
            }
            if (txtApellidos.Text == string.Empty)
            {
                errorProvider1.SetError(txtApellidos, "El Apellido es obligatorio");
                return;
            }
            if (txtNombres.Text == string.Empty)
            {
                errorProvider1.SetError(txtNombres, "El Nombre es obligatorio");
                return;
            }
            if (txtLegajo.Text == string.Empty)
            {
                errorProvider1.SetError(txtLegajo, "El Legajo es obligatorio");
                return;
            }
            if (DALProfesores.getProfesorByDni(txtDNI.Text) == null)
            {
                Profesores p = new Profesores
                {
                    apellidos = txtApellidos.Text,
                    barrio = txtBarrio.Text,
                    direccion = txtDireccion.Text,
                    dni = txtDNI.Text,
                    fechaNac = dptFechaNac.Value,
                    legajo = txtLegajo.Text,
                    localidad = txtLocalidad.Text,
                    mail = txtMail.Text,
                    telCel = txtTelCel.Text,
                    telFijo = txtTelFijo.Text,
                    nombres = txtNombres.Text,
                    idEstadoC = ((estadoCivil)cbxEstadoCivil.SelectedItem).idEstadoC
                };
                DALProfesores.nuevoProfesor(p);
                MessageBox.Show("Operacion exitosa");
                btnLimpiar_Click(null, null);
            }
            else
            {
                MessageBox.Show("El profesor ya existe");
            }
        }

        private void frmAltaProfesores_Load(object sender, EventArgs e)
        {
            cbxEstadoCivil.DataSource = DALEstadoCivil.getEstados();
        }

        private void btnLimpiar_Click(object sender, EventArgs e)
        {
            txtApellidos.Text = "";
            txtBarrio.Text = "";
            txtDireccion.Text = "";
            txtDNI.Text = "";
            txtLegajo.Text = "";
            txtLocalidad.Text = "";
            txtMail.Text = "";
            txtNombres.Text = "";
            txtTelCel.Text = "";
            txtTelFijo.Text = "";
        }
    }
}
